package baptizeattribute.service;

import baptizeattribute.data.Data;
import baptizeattribute.utils.Tools;
import org.bukkit.inventory.ItemStack;

import java.util.*;

public class ConfigService {
//    /**
//     * 获得指定装备应有条目数
//     * @return
//     */
//    public int getRandom(ItemStack is){
//        List<String> lore = is.getItemMeta().getLore();
//        int num = indexOfDetectionTitle(is);
//        int i = lore.size()-indexOfDetectionTitle(is)-num;
//        return i;
//    }
//
//    /**
//     * 指定品级需要的道具数量map
//     * @return
//     */
//    public Map<String,Integer> getNumber(){
//        Map<String,Integer> map = new HashMap<>();
//        List<String> list = Data.config.getRandom();
//        for (String s : list) {
//            String[] split = s.split("-");
//            map.put(split[0],Integer.parseInt(split[1]));
//        }
//        return map;
//    }
//
//    /**
//     * 指定物品需要多少道具
//     * @param is
//     * @return
//     */
//    public int getItemByNum(ItemStack is){
//        String name = is.getItemMeta().getDisplayName();
//        Map<String, Integer> number = getNumber();
//        for (String key : number.keySet()) {
//            if (name.contains(key)){
//                return number.get(key);
//            }
//        }
//        return -1;
//    }
//
//    /**
//     * 获得当前次数的随机到的条目集合
//     * @return
//     */
//    public List<String> getAttributeRandomList(ItemStack is){
//        int random = getRandom(is);
//        Random r = new Random();
//        List<Integer> flag = new ArrayList<>();
//        List<String> list = new ArrayList<>();
//        List<String> attributeList = Data.config.getAttributeList();
//        if (random>=attributeList.size()){
//            return attributeList;
//        }
//        for (int i = 0; i < random; i++) {
//            int k = r.nextInt(attributeList.size());
//            if (flag.indexOf(k)==-1){
//                flag.add(k);
//                list.add(attributeList.get(k));
//            }else {
//                random++;
//            }
//        }
//        return list;
//    }
//
//    /**
//     * 检测装备含有标题的索引,没有返回-1
//     * @param is
//     * @return
//     */
//    public int indexOfDetectionTitle(ItemStack is){
//        if (Tools.isItem(is)){
//            return is.getItemMeta().getLore().indexOf(Data.config.getDetectionTitle());
//        }
//        return -1;
//    }
//
//    /**
//     * 移除这个装备的现有属性
//     * @param is
//     * @return
//     */
//    public List<String> removeAttribute(ItemStack is){
//        int num = indexOfDetectionTitle(is);
//        List<String> lore = is.getItemMeta().getLore();
//        int removeCount = lore.size()-num;
//        int k = 0;
//        for (int i = lore.size() - 1; i >= 0; i--) {
//            k++;
//            if (k==removeCount){
//                break;
//            }
//            lore.remove(i);
//        }
//        return lore;
//    }
//
//    /**
//     * 添加随机条目数 并且返回
//     * @param list
//     * @return
//     */
//    public List<String> addAttribute(List<String> list,ItemStack is){
//        list.addAll(getAttributeRandomList(is));
//        return list;
//    }
}
